Skip to content

iris-gui: App Store polish — keyboard capture, sandbox CHD fold, lice…#42

Merged
techomancer merged 2 commits into
techomancer:mainfrom
danifunker:more-appstore-fixes
Jun 20, 2026
Merged

iris-gui: App Store polish — keyboard capture, sandbox CHD fold, lice…#42
techomancer merged 2 commits into
techomancer:mainfrom
danifunker:more-appstore-fixes

Conversation

@danifunker

Copy link
Copy Markdown
Contributor

…nses, UI fixes

This PR only affects GUI components and adds the GPL3 license file for CHD license compliance.

Keyboard capture (input.rs):

  • Lock the framebuffer focus filter so Tab / arrows / Esc reach the guest instead of being eaten by egui focus navigation.
  • Forward Ctrl+C/X/V (egui-winit otherwise swallows them as clipboard commands), map F5, and let Ctrl+Alt+F11 send a bare F11 to IRIX.

Sandbox CHD consolidation (the fold needs folder, not file, access):

  • handle.rs surfaces the fold error instead of swallowing it.
  • Start + disk-assignment preflight (dir_writable probe) and a ChdGrantModal that prompts for a recursive folder grant, with a dedicated-folder tip.
  • Auto-consolidate on a clean guest power-off (cpu_stopped edge), since macOS Cmd+Q bypasses the close-time fold (winit 0.29 has no applicationShouldTerminate).

Local sandboxed build (test the App Sandbox without the App Store):

  • installer/iris-gui-sandbox-local.entitlements + build-macos.sh appstore (builds --features appstore, signs with app-sandbox).

GUI:

  • Fix tofu glyphs: status dots are now sized bullets (U+2022); replaced U+25CF/2713/2717/2715/1F5C2/23FB and U+2192 with rendering equivalents.
  • Build-features panel reports "jit: off (sandbox)" at runtime.
  • Rename-machine is now a modal (the in-menu text box reset every frame).
  • Config editor fills the pane when idle; header shows "Configuration — ".
  • Help: Licenses... shows BSD-3-Clause (IRIS) plus GPL-3.0 (libchdman-rs/CHD) with source links, and Privacy policy... — both embedded via include_str!.
  • Reworded "the serial console is NOT the network", removed "for App Review", renamed "Network test" to "Serial console".

LICENSE-GPL3.txt brought onto this branch (CHD builds are conveyed under GPL-3.0). Findings written up under rules/gui and rules/macos.

@techomancer

Copy link
Copy Markdown
Owner

aww looks like we have conflicts after pcap merge

@danifunker

Copy link
Copy Markdown
Contributor Author

Let me take a look and update this PR

danifunker and others added 2 commits June 20, 2026 12:44
…nses, UI fixes

Keyboard capture (input.rs):
- Lock the framebuffer focus filter so Tab / arrows / Esc reach the guest
  instead of being eaten by egui focus navigation.
- Forward Ctrl+C/X/V (egui-winit otherwise swallows them as clipboard
  commands), map F5, and let Ctrl+Alt+F11 send a bare F11 to IRIX.

Sandbox CHD consolidation (the fold needs folder, not file, access):
- handle.rs surfaces the fold error instead of swallowing it.
- Start + disk-assignment preflight (dir_writable probe) and a ChdGrantModal
  that prompts for a recursive folder grant, with a dedicated-folder tip.
- Auto-consolidate on a clean guest power-off (cpu_stopped edge), since macOS
  Cmd+Q bypasses the close-time fold (winit 0.29 has no
  applicationShouldTerminate).

Local sandboxed build (test the App Sandbox without the App Store):
- installer/iris-gui-sandbox-local.entitlements + `build-macos.sh appstore`
  (builds --features appstore, signs with app-sandbox).

GUI:
- Fix tofu glyphs: status dots are now sized bullets (U+2022); replaced
  U+25CF/2713/2717/2715/1F5C2/23FB and U+2192 with rendering equivalents.
- Build-features panel reports "jit: off (sandbox)" at runtime.
- Rename-machine is now a modal (the in-menu text box reset every frame).
- Config editor fills the pane when idle; header shows "Configuration — <name>".
- Help: Licenses... shows BSD-3-Clause (IRIS) plus GPL-3.0 (libchdman-rs/CHD)
  with source links, and Privacy policy... — both embedded via include_str!.
- Reworded "the serial console is NOT the network", removed "for App Review",
  renamed "Network test" to "Serial console".

LICENSE-GPL3.txt brought onto this branch (CHD builds are conveyed under
GPL-3.0). Findings written up under rules/gui and rules/macos.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
@danifunker danifunker force-pushed the more-appstore-fixes branch from 7f204ce to edf3bb5 Compare June 20, 2026 16:45
@danifunker

Copy link
Copy Markdown
Contributor Author

It's updated now, should merge in cleanly. Thanks for reaching out to have me update it

@techomancer techomancer merged commit 892e6a3 into techomancer:main Jun 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants